baselib.report(0x00, "TD4.8.1 beginning.")
-- 初始化操作
busilib.SetOrientation(1)  -- 设置USB的CC线,另一根则为Vconn线(这里设置CC1)
-- 第一步:CVS present an Audio Accessory by terminating CC pins with Ra
-- 这里需要两条CC都提供Ra吗？
busilib.SetSwitchState(SW.CC1_RA, 1)  -- 将CC1_RA开关打开
busilib.SetSwitchState(SW.CC2_RA, 1)  -- 将CC2_RA开关打开
-- 第二步:CVS verifies PUT transitions to Unattached.SRC within tDRP – (dcSRC.DRP x tDRP) [TD.4.8.1.V.1]
-- 验证PUT提供Rp
baselib.delay(30)  -- 等待tDRP – (dcSRC.DRP x tDRP)时间
local VCC1 = busilib.GetADC(ADC.CC1, 4)
if VCC1 > 200 then
    baselib.report(0x00, "TD4.8.1.V.1 pass.")
else
    baselib.report(0x00, "TD4.8.1.V.1 fail.")
end
-- 第三步:If VIF field Type_C_Supports_Audio_Accessory is YES:
-- 根据Type_C_Supports_Audio_Accessory字段的值进行不同的操作
if Type_C_Supports_Audio_Accessory then
    -- 3.a步:CVS verifies PUT transition to AudioAccessory within tCCDebounce
    baselib.delay(200)  -- 等待tCCDebounce时间
    -- 1、The PUT reconfigures its pins as defined in Appendix A [TD.4.8.1.V.2]   PUT重新配置其引脚，如附录A中定义
    -- 这步怎么做？
    -- 2、The PUT does not drive VBUS or VCONN [TD.4.8.1.V.2]   PUT不驱动VBUS或VCONN
    -- 这里判断PUT是否加载VBUS和VCONN是有封装成特定的函数还是要去判断CC1和CC2的电压？
    -- 3、The PUT sinks current over VBUS, it shall not be more than 500mA [TD.4.8.1.V.3] 
    -- 如果PUT在VBUS上吸收电流，不应超过500mA 
    -- 电流怎么判断
    -- 4、The PUT applies Rp on at least one CC [TD.4.8.1.V.4]
    VCC1 = busilib.GetADC(ADC.CC1, 4)
    if VCC1 > 200 then
        baselib.report(0x00, "TD4.8.1.V.4 pass.")
    else
        baselib.report(0x00, "TD4.8.1.V.4 fail.")
    end
else
    -- 第四步:If VIF field Type_C_Supports_Audio_Accessory is NO:
    -- 4.a步:等待tAMETimeout
    baselib.delay(1000)          -- 等待tAMETimeout时间
    -- 4.b步:CVS verifies that no Attached state is reached  [TD.4.8.1.V.5]  CVS验证没有达到Attached状态
    -- 具体操作是？
end
-- 第五步:CVS transitions to Disabled
busilib.setUsbCcs(CCS.Disabled)
-- 第六步:If VIF field Type_C_Supports_Audio_Accessory is YES:
if Type_C_Supports_Audio_Accessory then
    -- 6.a步:CVS verifies PUT transitions to Unattached.SRC or Disabled within tCCDebounce:PUT CCs are terminated with Rp or not terminated [TD.4.8.1.V.6]
    -- CVS验证PUT在tCCDebounce时间内转换到Unattached.SRC或Disabled： PUT的CC引脚提供Rp或？？？
    -- 这一步应该怎么翻译，PUT CCs are terminated with Rp or not terminated怎么验证？？？
end

baselib.report(0x00, "TD4.8.1 completed.")
baselib.report(0x07, "\x04")